package com.ruoyi.buy.mapper.PO;

import com.ruoyi.buy.domain.entity.PO.InvInoutBillItem;
import com.ruoyi.buy.domain.entity.PO.InvStockBill;
import com.ruoyi.buy.domain.entity.inv0005.Inv0005InvDataDto;
import com.ruoyi.buy.domain.entity.inv0006.Inv0006InvDataDto;

import java.util.List;

/**
 * 盘点单信息Mapper接口
 * 
 * @author ruoyi
 * @date 2024-01-02
 */
public interface InvStockBillMapper 
{
    /**
     * 查询盘点单信息
     * 
     * @param id 盘点单信息主键
     * @return 盘点单信息
     */
    public InvStockBill selectInvStockBillById(Long id);

    /**
     * 查询盘点单信息列表
     * 
     * @param invStockBill 盘点单信息
     * @return 盘点单信息集合
     */
    public List<InvStockBill> selectInvStockBillList(InvStockBill invStockBill);

    /**
     * 新增盘点单信息
     * 
     * @param invStockBill 盘点单信息
     * @return 结果
     */
    public int insertInvStockBill(InvStockBill invStockBill);

    /**
     * 修改盘点单信息
     * 
     * @param invStockBill 盘点单信息
     * @return 结果
     */
    public int updateInvStockBill(InvStockBill invStockBill);

    /**
     * 删除盘点单信息
     * 
     * @param id 盘点单信息主键
     * @return 结果
     */
    public int deleteInvStockBillById(Long id);

    /**
     * 批量删除盘点单信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteInvStockBillByIds(Long[] ids);

    /**
     * 查询库存信息
     *
     * @param para 查询条件
     * @return 结果
     */
    public List<Inv0006InvDataDto> getInvDataList(InvStockBill para);

    public List<InvInoutBillItem> getInOutDataList(Inv0006InvDataDto para);
}
